{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-28T23:44:40.159538Z",
     "start_time": "2021-06-28T23:44:40.144864Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('3.6.9', '1.19.0', '3.2.2')"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib\n",
    "from dsutil.plotting import add_grid\n",
    "from platform import python_version\n",
    "\n",
    "python_version(), np.__version__,matplotlib.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-28T23:44:44.130553Z",
     "start_time": "2021-06-28T23:44:44.127020Z"
    }
   },
   "outputs": [],
   "source": [
    "np.random.seed(42)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## add text to plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-28T23:45:12.893928Z",
     "start_time": "2021-06-28T23:45:12.694620Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "plt.clf()\n",
    "\n",
    "# using some dummy data for this example\n",
    "xs = np.arange(0,10,1)\n",
    "ys = np.random.normal(loc=2.0, scale=0.8, size=10)\n",
    "\n",
    "plt.plot(xs,ys)\n",
    "\n",
    "# text start at point (2,4)\n",
    "plt.scatter([2],[4])\n",
    "plt.text(2,4,'This text starts at point (2,4)')\n",
    "\n",
    "plt.scatter([8],[3])\n",
    "plt.text(8,3,'This text ends at point (8,3)',horizontalalignment='right')\n",
    "\n",
    "\n",
    "plt.xticks(np.arange(0,10,1))\n",
    "plt.yticks(np.arange(0,5,0.5))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## add labels to line plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-28T23:45:13.189315Z",
     "start_time": "2021-06-28T23:45:13.035687Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "plt.clf()\n",
    "\n",
    "# using some dummy data for this example\n",
    "xs = np.arange(0,10,1)\n",
    "ys = np.random.normal(loc=3, scale=0.4, size=10)\n",
    "\n",
    "# 'bo-' means blue color, round points, solid lines\n",
    "plt.plot(xs,ys,'bo-')\n",
    "\n",
    "# zip joins x and y coordinates in pairs\n",
    "for x,y in zip(xs,ys):\n",
    "    \n",
    "    label = \"{:.2f}\".format(y)\n",
    "    \n",
    "    plt.annotate(label, # this is the text\n",
    "                 (x,y), # this is the point to label\n",
    "                 textcoords=\"offset points\", # how to position the text\n",
    "                 xytext=(0,10), # distance from text to points (x,y)\n",
    "                 ha='center') # horizontal alignemtn can be left, right or center\n",
    "\n",
    "plt.xticks(np.arange(0,10,1))\n",
    "plt.yticks(np.arange(0,7,0.5))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## add labels to bar plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-28T23:45:13.505362Z",
     "start_time": "2021-06-28T23:45:13.335071Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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mZdffpkf/vCHpKSk1HHWdafer7Z4qqjo18Hi5QWSk5MpLCxk7969NG/evOT67Nmz1TsXqUCQlR4vueQS8vPzK/2c0aNHM3r06Hind8pRD70Ggvw6mJWVVfJk6ty5c7nqqqtKxs+PHTvGX/7yl5MaP9+2bRtXXnklXbp0ISUlhUmTJp3Q5ssvv+T6668nNTWVzMzM4357aN++fcmmHxkZGdWOLyKnnnrZQz9VbqcKsuzA7bffzq233kqnTp0477zzmD17dsnPL1u2jLZt29KxY8dq55eYmMiTTz5Jz5492bdvH+np6QwYMIAuXbqUtPnVr35FWloar776Kps3b2bs2LH8/e9/L7m+ZMkSWrRoUe3YInJqqpcF/VQR5NfBs846i5dffrncn+/fv/8JtzkG1apVK1q1agXA2WefTefOndm+fftxBX3Tpk2MHz8egIsvvpi8vDx27tzJt7/97ZOKKSKnNg25REBeXh4ffPDBCXfYdO/enXnz5gGwatUq/v3vf5eMNZoZAwcOJD09nalTp1YrXpDhnr1793LttdeW7PX63HPPlVy77777SElJoXPnztx5553F6/yISA2ph17P7d+/n+HDh/PUU08dt9UewPjx47nrrrtIS0ujW7du9OjRo2Q1yXfffZc2bdqwa9cuBgwYwMUXXxx4vYsgwz2TJ0+mS5cuvPbaaxQUFHDRRRdx8803k52dzXvvvcf69esB6Nu3L0uXLqV///7x+QMROY2poNdjR44cYfjw4dx8883ccMMNJ1w/55xzSnrG7k6HDh1KxuuLN/Jo2bIl119/PatWrQpc0IMM95gZ+/btw93Zv38/5513HomJiZgZBw8e5PDhw7g7R44c0RCQSJxoyKWecnduv/12OnfuzD333FNumz179nD48GEApk2bRr9+/TjnnHP4+uuv2bdvH1C0afZbb7110vfBVzTcM27cOHJzc2ndujXdunVj0qRJnHHGGfTu3Zsrr7yy5B+FQYMG0blz55OKLSLHU0Gvp9577z1efPFFFi9eTFpaGmlpaSxcuJApU6YwZcoUAHJzc+natSsXXXQRb7zxRslY986dO+nbty/du3cnMzOToUOHMnjw4MrClauy4Z4333yTtLQ0PvvsM3Jychg3bhxfffUVW7ZsITc3l/z8fLZv387ixYtZvnx5zf9AIq4m8xY5OTn07t2blJQU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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "plt.clf()\n",
    "\n",
    "# using some dummy data for this example\n",
    "xs = np.arange(0,10,1)\n",
    "ys = np.random.normal(loc=3, scale=0.4, size=10)\n",
    "\n",
    "plt.bar(xs,ys)\n",
    "\n",
    "# zip joins x and y coordinates in pairs\n",
    "for x,y in zip(xs,ys):\n",
    "    \n",
    "    label = \"{:.2f}\".format(y)\n",
    "    \n",
    "    plt.annotate(label, # this is the text\n",
    "                 (x,y), # this is the point to label\n",
    "                 textcoords=\"offset points\", # how to position the text\n",
    "                 xytext=(0,10), # distance from text to points (x,y)\n",
    "                 ha='center') # horizontal alignemtn can be left, right or center\n",
    "\n",
    "plt.xticks(np.arange(0,10,1))\n",
    "plt.yticks(np.arange(0,5,0.5))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Add labels to scatter plot points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-28T23:45:13.959771Z",
     "start_time": "2021-06-28T23:45:13.720415Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "plt.clf()\n",
    "\n",
    "# using some dummy data for this example\n",
    "xs = np.random.randint( 0, 10, size=10)\n",
    "ys = np.random.randint(-5, 5,  size=10)\n",
    "\n",
    "plt.scatter(xs,ys)\n",
    "\n",
    "# zip joins x and y coordinates in pairs\n",
    "for x,y in zip(xs,ys):\n",
    "    \n",
    "    label = f\"({x},{y})\"\n",
    "    \n",
    "    plt.annotate(label, # this is the text\n",
    "                 (x,y), # this is the point to label\n",
    "                 textcoords=\"offset points\", # how to position the text\n",
    "                 xytext=(0,10), # distance from text to points (x,y)\n",
    "                 ha='center') # horizontal alignment can be left, right or center\n",
    "\n",
    "plt.xticks(np.arange(0,10,1))\n",
    "plt.yticks(np.arange(-6,6,1))\n",
    "add_grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Add text to individual axes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-28T23:57:26.190005Z",
     "start_time": "2021-06-28T23:57:25.751237Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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dwBw2223lW6nffv2mz2ugwcPJoTA/fffz3XXXcfDDz/M4MGDN/q4999/n969ezN27FjGjx/PSSedxKeTb+Nfr0wqXWbAgAH06dOHgQMHsnDhQgBuuOEGXnjhBe6//3522mknAPr27cuNN97I2WefzcSJExk2bBh3330355xzTum6brrpJm655RYuv/xynnjiCe655x66devGsmXLNlpnt27dGDVqFBMnTqR///4AuwO/LFkmxvgk8BtgRAjhQIAQwnnA2cCPY4wfbGATXXI/39zooMUYq+12yCGHxKpoOWRCbDlkQpXWUVPbW39d1f1cNskLL8TYsWOM33yT3V+6NMaFC6tv+w0aVP6xXbrEOGvWZj+svNchydemxPTpMc6ZE+MBB6RdZw4wO1Zjj9mSN/tX+n8n99xzTwTivHnz4t133x0bNWoUV6xYET/66KNYu3btOGXKlDh16tQIxCeffDLGGGNxcXHcddddY9euXddZ14wZMyIQb7311tJpLVu2jPXr14+LFi1aZ9ljjjkmtm7dOq5cubJ0WnFxcWzdunXs1avXBmvu379/3GOPPcpM/8UvfhHr1asX33nnnXWmDxw4MDZp0iSuWrUqq2nIhNjwkJNi/fr145w5c2KdZkWxTrOi+E1JH4+xzHPemC5dusQuXbqUeXy/fv3WWe6SSy6J9erVi2vWrNmk9cYY4+rVq+OqVaviju2Oi3WaFa0zb/ny5XGvvfaKRx99dJw2bVqsXbt2/NWvflU6/9lnn41AHD169DqPu++++yIQX3nllRhjjD179oynnnrqJtdUnjVr1sRVq1ZF4ENgOVAr5noBUIdsL9gbwEHAv4D/iRvoH0BD4K3cY7bb0LIxRvecaS2LFkHTplCvXna/aVPYfffs96efhoMPhrZts703K1dm04uKYNiwbC9bhw7w8svQowfssw/k3skB8F//BYcemu2Ru+66stseOhRWrMjWU/IO6L774LDDsmkXXgirV2e3887L9hy1bQu33ALjxsHs2dnjDjooW8/azjsvW6ak3uuug/btoW1b9vm07JucPT//mD+PvTpbpn17eOGFbMajj0K3bhBjNlb77QeLF8PSpfCjH2XP79BD4fnns+WnT8/qOeigbOz+9a+yz/uUU+CQQ7K9lSWHKxYsgH33hU8+gTVr4KijYMqUbF7nzrDLLhW8gJJK9OnT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1arsZ7du0KtXdrhw111h2bLsnK0GDaBu3ewcr1atoOQdTsOG5Z/TVQkNV37NooZNsrEYPRpWr6Zo6ERqr1nNe1NvgAceyKbffDP89KfZ3rvbb4f/+3+/G7eDDoL33ssCbtu22SHPt95aN5x9/jk0bpwFs7feygJeiSFDsvFq2TI7hDphQl6em8qwh23FateuXeEes7WX+cUvfsGFF15I37596du3LwsXLuSaa65h33335YILLtjodm6++WY6d+5Mjx49GDBgAC1atOCTTz7h5ZdfZvXq1YwYMaLCx7Zp04Zly5Zx11130aFDB7bffnvatm3LFVdcwUMPPcRRRx3FFVdcQatWrfjqq6946623mDFjBo899hgAy6eOovizRTwwIzsfa5fjL2PRPZfRr18/nnzySUIInP7gfKhVm1GjRrHLLrtQr149WrVqVS0fyHvEEUew0047cckllzB8+HC++uorbrzxRmrX34nilV+VLrd8+XLOOeccunXrxk9/+lNCCIwcOZLTTz+dHj160L9/f7p27cpZZ51F7969ufLKKznssMOoVasW8+fPZ9KkSdx0003st99+9OrViwMPPJD27dvTuHFjXnnlFSZPnsyFG9hBsP/++9OyZUuuueYaateuTZ06dbjlllvKLBdCqEt2/tg/gKtijN+EEM4GngV+DgzPLTcEuBIYBcwLIXRcazVLY4zvbWjcKn3OWYxxIdnlpP8kOyb7eYxxSmXXpwR8+WW2t6pNm+zE/TfegOuvz/YI3XMP9OmTBY1ateCiizZ9vccdB2efDYcfnj2+d+/yg9SgQdl2zzknq+HGG7PHtmsH3btnJ+EvXJjtYTrooCyYlexZO++8rKbyLgjYTGMOPoEfvf4MHHhgFpoaNADgkpl/zs6r69QpC2Z//GN2btxtt2XnjLVrl9VdciHEb3+bHQJt1y4LnD/84bobOv74bM/i/vtne9k65v52p0/PwlxJQKtbNxt/yA6lHn44vP02M+/oz+lz/ZOrLHuYSgwaNIgxY8bw2muv0atXL66++mq6d+/O9OnTaZD7+9+Q9u3bM2vWLJo0acLll1/Occcdx+DBg3nttdfovKHTN4CBAwdy5pln8rOf/YzDDjuMk046CYCdd96ZF154gRNOOIGbbrqJHj16cMEFF/DYY4+Vfm7ZhAkT+NfLE2jcbVDpYc7a9RvS9MSr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\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "plt.clf()\n",
    "np.random.seed(42)\n",
    "\n",
    "x = np.linspace(0.0,100,50)\n",
    "y = np.random.uniform(low=0,high=10,size=50)\n",
    "\n",
    "fig, (ax1, ax2) = plt.subplots(1,2)\n",
    "\n",
    "ax1.bar(x,y)\n",
    "\n",
    "# add text to the axes on the left only\n",
    "ax1.annotate('Some test in axes ax1', \n",
    "             (40, 8), \n",
    "             color='red')\n",
    "\n",
    "ax2.bar(x,y)\n",
    "ax2.annotate('More text in axes ax2', \n",
    "             (40, 8), \n",
    "             color='black',\n",
    "             size=16)\n",
    "\n",
    "plt.gcf().set_size_inches(10,5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## String tick labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-06-29T02:36:18.853579Z",
     "start_time": "2021-06-29T02:36:18.547948Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "np.random.seed(42)\n",
    "\n",
    "# generate sample data for this example\n",
    "xs = [1,2,3,4,5,6,7,8,9,10,11,12]\n",
    "ys = np.random.normal(loc=3.0,size=12)\n",
    "labels = ['jan','feb','mar','apr','may','jun','jul','aug','sept','oct','nov','dec']\n",
    "\n",
    "# plot\n",
    "plt.bar(xs,ys)\n",
    "\n",
    "# apply custom tick labels\n",
    "plt.xticks(xs,labels)\n",
    "\n",
    "# this is the x-axis label you want to write the text for\n",
    "string_label = \"feb\"\n",
    "\n",
    "# figure out which x-axis tick corresponds to that\n",
    "label_index = labels.index(string_label)\n",
    "xs_index    = xs[label_index]\n",
    "\n",
    "# use xs_index to position the text\n",
    "plt.annotate(\"foo-bar\",\n",
    "             (xs_index,4),\n",
    "             color='orange',\n",
    "             size=15)\n",
    "\n",
    "# helpers for visualization\n",
    "plt.plot([2,2],[0,4], '--', color='grey', alpha=0.5)\n",
    "plt.plot([0,2],[4,4],'--',color='grey', alpha=0.5)\n",
    "plt.plot([2,2],[4,4],'o--',alpha=0.5)\n",
    "\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
